// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package conf

const (
	DefaultZipkinTracerEndpoint = "http://localhost:9411/api/v2/spans"
	DefaultZipkinTracerTimeout  = 3
)

// ZipkinTracerConfig
// is a component for zipkin tracer.
type ZipkinTracerConfig struct {
	Endpoint string `yaml:"endpoint"`
	Timeout  int    `yaml:"timeout"`
	Username string `yaml:"username"`
	Password string `yaml:"password"`
}

// +---------------------------------------------------------------------------+
// | Access methods                                                            |
// +---------------------------------------------------------------------------+

func (o *ZipkinTracerConfig) init() {
	if o.Endpoint == "" {
		o.Endpoint = DefaultZipkinTracerEndpoint
	}
	if o.Timeout == 0 {
		o.Timeout = DefaultZipkinTracerTimeout
	}
}
